package AccesoDatos;

import Entidades.*;
import java.util.*;
import java.sql.*;

public class datModelo {

    private static Modelo Construir(ResultSet tabla) throws Exception {
        Modelo nuevo = new Modelo();
        nuevo.setIdModelo(tabla.getInt("IdModelo"));
        nuevo.setCacheL2(tabla.getString("CacheL2"));
        nuevo.setCacheL3(tabla.getString("CacheL3"));
        nuevo.setCodigoNucleo(tabla.getString("CodigoNucleo"));
        nuevo.setConsumoEnergia(tabla.getString("ConsumoEnergia"));
        nuevo.setDescripcion(tabla.getString("Descripcion"));
        nuevo.setDirectX(tabla.getString("DirectX"));
        nuevo.setEstado(tabla.getBoolean("Estado"));
        nuevo.setFrecuenciaCPU(tabla.getString("FrecuenciaCPU"));
        nuevo.setGraficosIntegrados(tabla.getString("GraficosIntegrados"));
        nuevo.setMemoriaRAM(tabla.getString("MemoriaRAM"));
        nuevo.setModelo(tabla.getString("Modelo"));
        nuevo.setMultiplicador(tabla.getString("Multiplicador"));
        nuevo.setNumeroNucleos(tabla.getString("NumeroNucleos"));
        nuevo.setSerie(tabla.getString("Serie"));
        nuevo.setSocket(tabla.getString("Socket"));
        nuevo.setTecnologia(tabla.getString("Tecnologia"));
        nuevo.setTemperaturaMaxima(tabla.getString("TemperaturaMaxima"));
        return nuevo;
    }

    public static Modelo ListarProductoxModelo(int IdArticulo) throws Exception {
        Connection cnn = Conexion.getConexion();
        try {
            Modelo objeto = new Modelo();
            Statement stm = cnn.createStatement();
            ResultSet tabla = stm.executeQuery("Select * from Modelo inner join Articulo on Articulo.IdModelo = Modelo.IdModelo  where IdArticulo=" + IdArticulo + " and Articulo.Estado = 'True'");
            if (tabla.next()) {
                objeto = Construir(tabla);
                return objeto;
            } else {
                return null;
            }
        } catch (Exception e) {
            throw e;
        } finally {
            cnn.close();
        }
    }
}
